Authenticating a Signal Based on an Unknown Component Thereof

ABSTRACT

Authentication of a signal, signal A , that is provided as having been received from a source at a first global location by comparing it to a signal that is received from the source at a second global location, signal B , where signal B  contains an unknown signal that is unique to the source, and determining that signal A  contains the same unknown signal that is contained in signal B .

This Application is a Continuation of U.S. application Ser. No.12/012,416 filed in the USPTO on Feb. 2, 2008.

BACKGROUND OF THE INVENTION

This invention relates to global positioning, and more particularly tothe issue of confidence that a user has in global positioninginformation that equipment may provide. In the context of thisdisclosure, global positioning encompasses the absolute geo-location aswell are the relative location of one object relative to another object.

There are numerous electronic ways by which global positioning may beprovided. Some are terrestrial, and some are based on satellites. Asatellite system that currently is most commonly used is the GlobalPositioning System (GPS), and it is quite well known in the sense thatmany people have GPS receivers that assist them in determining theirphysical location. GPS uses a collection of satellites that are arrangedto orbit the Earth so that at least four satellites are always withinthe reception range of a receiver, at any point on the globe. One of thesignals that the satellites transmit is a signal at frequency L1, whichis used as a carrier to modulate a data signal that is itself modulatedwith a Code Division Multiple Access (CDMA) code, commonly referred toas the C/A code. The CDMA code that is used by each satellite is uniqueto the satellite, but it is publicly known, which allows the receiver todiscriminate, or detect, the individual signal of each of the satellitesin the presence of signals from the other satellites and in the presenceof noise. Actually, each satellite transmits at least one other signal,employing the same carrier frequency that is shifted 90 degrees. Thissecond signal is modulated by another code, known as the P(Y) code. TheP(Y) code is either the P, which is publicly known, or the encrypted Ycode. Today, all satellites use the Y code and, consequently, theresulting transmitted signal that is encoded with the Y code cannot beused by anyone other than those who have the decryption algorithm andthe key. Each satellite transmits yet another signal, on frequency L2,but the disclosure herein focuses on frequency L1 only. It should beunderstood that the principles disclosed herein apply to L1, L2, or anyof the new frequencies that are planned for satellite navigation.

Because the invention that is disclosed herein is illustrated by way ofan example that is based on the pervasive GPS system, the followinggives an abbreviated review of the GPS signals and the processing thattakes place in a conventional GPS receiver. It should be kept in mindthat the deficiency in the GPS system that is mentioned later is foundin all other non-encrypted systems, and that the applicability of theinvention disclosed herein extends beyond the GPS system. It should bekept in mind, therefore, that terms referring to global positioning(without initial letters being capitalized) refers to the termsgenerically, and not necessarily solely to GPS.

A conventional GPS receiver, shown in FIG. 1, simultaneously receives anumber of satellite signals on frequency L1, where the signaltransmitted by satellite n can be expressed as

S _(transmitted) =A ^(n) D ^(n)(t)x _(C/A) ^(n)(t)cos(2π(ƒ_(L1))t+φ ₁)+B^(n) D ^(n)(t)x _(Y) ^(n)(t)sin(2π(ƒ_(L1))t+φ ₁)  (1)

where D^(n)(t) is the data signal, x_(C/A) ^(n)(t) is the C/A codesignal assigned to satellite n, ƒ_(L1) is the frequency of the carrier,and φ₁ is the phase of the carrier relative to the beginning of the dataand code signals.

A GPS receiver can engage in the processing of signals as if all of thepossible satellites are present but, of course, some of the satellitesare not within range of the GPS receiver's antenna so the processingresults for those satellites are not viable. The following analysisfollows the signal of only one satellite and, for sake of simplicity,superscript n is omitted from the equations, and the C/A subscript isshortened to C.

The transmitted signal is subjected to transit time delay to thereceiver, τ, and the signal that is received by a receiver's antennaexperiences a Doppler frequency shift, ƒ_(D), due to the satellite'smovement in its orbit and possible receiver motion. Also, thetransmitter and the receiver do not have a common clock, which meansthat even when the transmitter and the receiver clocks are at identicalfrequency, there is, nevertheless, a phase difference between them.Thus, the received signal thus can be expressed as

S _(received) =AD(t−τ)x _(C)(t−τ)cos(2π(ƒ_(L1)+ƒ_(D))(t−τ)+φ₁)+BD(t−τ)x_(Y)(t−τ)sin(2π(ƒ_(L1)+ƒ_(D))(t−τ)+φ₁)  (2)

or simplified to

S _(received) =AD(t−τ)x _(C)(t−τ)cos(2π(ƒ_(L1)+ƒ_(D))t+φ ₁−φ₂)+BD(t−τ)x_(Y)(t−τ)sin(2π(ƒ_(L1)+ƒ_(D))t)+φ₁−φ₂)  (3)

As shown in FIG. 1, the received signal is amplified in element 10,conventionally downshifted to a preselected intermediate frequency (IF)by multiplying the received signal in element 12 by signal

sin(2π(ƒ_(L1)−ƒ_(IF))t+φ₃)  (4)

and passing the resulting signal through low pass filter 15. The signalof equation (4) is generated from reference oscillator 20 by frequencysynthesizer 22, where φ₃ is the phase of the locally generated signal(relative to the beginning of the data and code signals at thetransmitting satellite which, of course, is unknown). The result at theoutput of the low pass filter is

S _(downshifted) =AD(t−τ)x _(C)(t−τ)cos(2π(ƒ_(IF)+ƒ_(D))t+φ₁−φ₂−φ₃)+BD(t−τ)x _(Y)(t−τ)sin(2π(ƒ_(IF)+ƒ_(D))t+φ₁−φ₂−φ₃)  (5)

or simplified to

S _(downshifted) =AD(t−τ)x _(C)(t−τ)cos(2π(ƒ_(IF)+ƒ_(D))t+θ ₁)+BD(t−τ)x_(Y)(t−τ)sin(2π(ƒ_(IF)+ƒ_(D))t+θ₁).  (6)

It may be noted that the above-described use of downshifting by use ofan IF modulator 12 and low pass filter 15 is illustrative, and that theA/D can be connected directly to amplifier 10 and controlled to generatea digital signal as if it were downshifted as shown in FIG. 1.

The output signal of low pass filter 15 is digitized in A/D converter 18and applied to a combination of processor 100 and associated memory 110where the remainder of the processing takes place.

The processing begins with a signal acquisition (software) module thatincludes a code generator element and a carrier generation module. Thecode generation module develops signal

x_(C)(t−{circumflex over (τ)}),  (7)

where {circumflex over (τ)} is an estimate of τ, and the carriergenerator module creates two signals that may be viewed as the phasor

ψ=cos(2π(ƒ_(IF)+{circumflex over (ƒ)}_(D))t+{circumflex over (θ)} ₁)−isin(2π(ƒ_(IF)+{circumflex over (ƒ)}_(D))t+{circumflex over (θ)} ₁),  (8)

where {circumflex over (ƒ)}_(D) is an estimate of the Doppler frequencyshift ƒ_(D), and {circumflex over (θ)}₁ is an estimate of the phase θ₁.Multiplying the received (and downshifted) signal of equation (6) by thecode signal of equation (7) and the phasor of equation (8) and thenintegrating the product over a preselected interval that is long enoughto reliably detect a correlation peak (for example, more than one periodof the C/A code) yields:

∫F_(C)ψ cos(2π(ƒ_(IF)+ƒ_(D))t+θ₁)]+∫F_(Y)ψsin(2π(ƒ_(IF)+ƒ_(D))t+θ₁)]  (9)

where

F _(C) =AD(t−τ)x _(C)(t−τ)x _(C)(t−{circumflex over (τ)})

and

F _(Y) =BD(t−τ)x _(Y)(t−τ)x _(C)(t−{circumflex over (τ)})  (10)

Equation (9) expands to

$\begin{matrix}{{S_{I} + S_{Q}} = {{\int{F_{C}\begin{Bmatrix}{{{\cos \left( {{2{\pi \left( {f_{IF} + {\hat{f}}_{D}} \right)}t} + {\hat{\theta}}_{1}} \right)}{\cos \left( {{2{\pi \left( {f_{IF} + f_{D}} \right)}t} + \theta_{1}} \right)}} -} \\{i\; {\sin \left( {{2{\pi \left( {f_{IF} + {\hat{f}}_{D}} \right)}t} + {\hat{\theta}}_{1}} \right)}{\cos \left( {{2{\pi \left( {f_{IF} + f_{D}} \right)}t} + \theta_{1}} \right)}}\end{Bmatrix}}} + {\int{F_{Y}\begin{Bmatrix}{{{\cos \left( {{2{\pi \left( {f_{IF} + {\hat{f}}_{D}} \right)}t} + {\hat{\theta}}_{1}} \right)}{\sin \left( {{2{\pi \left( {f_{IF} + f_{D}} \right)}t} + \theta_{1}} \right)}} -} \\{i\; {\sin \left( {{2{\pi \left( {f_{IF} + {\hat{f}}_{D}} \right)}t} + {\hat{\theta}}_{1}} \right)}{\sin \left( {{2{\pi \left( {f_{IF} + f_{D}} \right)}t} + \theta_{1}} \right)}}\end{Bmatrix}}}}} & (11)\end{matrix}$

or to

$\begin{matrix}{{S_{I} + S_{Q}} = {{\int{F_{C}\begin{Bmatrix}{{\cos \left( {{2{\pi \left( {{2f_{IF}} + f_{D} + {\hat{f}}_{D}} \right)}t} + \theta_{1} + {\hat{\theta}}_{1}} \right)} +} \\{{\cos \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)} -} \\{{i\; {\sin \left( {{2{\pi \left( {{2f_{IF}} + f_{D} + {\hat{f}}_{D}} \right)}t} + \theta_{1} + {\hat{\theta}}_{1}} \right)}} +} \\{i\; {\sin \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}}\end{Bmatrix}}} + {\int{F_{Y}{\begin{Bmatrix}{{\sin \left( {{2{\pi \left( {{2f_{IF}} + f_{D} + {\hat{f}}_{D}} \right)}t} + \theta_{1} + {\hat{\theta}}_{1}} \right)} +} \\{{\sin \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)} +} \\{i\; {\cos \left( {{2{\pi \left( {{2f_{IF}} + f_{D} + {\hat{f}}_{D}} \right)}t} + \theta_{1} + {\hat{\theta}}_{1}} \right)}} \\{{- i}\; {\cos \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}}\end{Bmatrix}.}}}}} & (12)\end{matrix}$

Since, as indicated above,

F _(Y) =BD(t−τ)x _(Y)(t−τ)x _(C)(t−{circumflex over (τ)}),  (13)

and the C/A code is orthogonal to the Y code, the second integral ofequation (12) yields zero. Also, the integration acts like a low passfilter that discards the high frequency signals of cos2π(2ƒ_(IF)+ƒ_(D)+{circumflex over (ƒ)}_(D))t and sin2π(2ƒ_(IF)+ƒ_(D)+{circumflex over (ƒ)}_(D))t, leaving

$\begin{matrix}{{S_{I} + {iS}_{Q}} = {\int{F_{C}{\begin{Bmatrix}{{+ {\cos \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}} +} \\{i\; {\sin \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}}\end{Bmatrix}.}}}} & (14)\end{matrix}$

It can be demonstrated that S_(I) ²+S_(Q) ² equals

$\begin{matrix}\begin{matrix}{{S_{I}^{2} + S_{Q}^{2}} = {\left( {\int{F_{C}{\cos \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}}} \right)^{2} +}} \\{\left( {\int{F_{C}{\sin \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}}} \right)^{2}} \\{= {\left( {\int{F_{C}\cos \; 2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t}} \right)^{2} +}} \\{\left( {\int{F_{C}\sin \; 2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t}} \right)^{2}}\end{matrix} & (15)\end{matrix}$

which is independent of (θ₁−{circumflex over (θ)}₁). It can be alsodemonstrated that good estimates for τ, and ƒ_(D) are attained when codegeneration module is adjusted as to introduce a delay, {circumflex over(τ)}, and the carrier generator module is adjusted as to the introduced{circumflex over (ƒ)}_(D) so as to maximize S_(I) ²+S_(Q) ².

For the more visually inclined reader, FIG. 2 shows a diagrammaticrepresentation of the processing that takes place in the acquisitionmodule.

The task of the acquisition module is to come up with a first-cutapproximation of the delay and the Doppler frequency shift. A refinementof the approximations takes place in a tracking module, whose functionis to both refine the estimates and track the changes in τ, ƒ_(D) and θ₁as conditions change, and whose diagrammatic representation is shown inFIG. 3.

The tracking module contains a phase lock loop comprising multiplier 31that multiplies the S_(downshifted) signal of equation (6) by the phasorof equation (8) provided by numerically controlled oscillator (carrierNCO) 32. The output of multiplier 31 is multiplied in multiplier 33 bythe code signal obtained from code generator 38. The output ofmultiplier 33 is integrated in module 34 and applied to discriminator35, which develops a carrier error signal (θ₁−{circumflex over (θ)}₁)that controls the frequency of the carrier NCO.

The output of multiplier 31 is also applied to multiplier 36, where itis multiplied by the code signal that is generated by element 38, butdelayed by half of the duration of code C/A chip; i.e.,

x_(C)(t−{circumflex over (τ)}−T_(C)/2),  (16)

and to multiplier 37, where it is multiplied by the code signal that isgenerated by element 38, but advanced by half of the duration of codeC/A chip; i.e.,

x_(C)(t−{circumflex over (τ)}+T_(C)/2).  (17)

The outputs of multipliers 36 and 37 are integrated in elements 41 and42, respectively, and applied to discriminator 39 which develops a delayerror signal (τ−{circumflex over (τ)}) that is applied to code generator38, controlling the frequency of the clock that generates the code.

While in both elements 32 and 38 the frequency of a clock is controlledby the respective discriminators, the result is that the generatedcarrier frequency phasor that is applied to multiplier 31 is in the form

cos(2π(ƒ_(IF)+{circumflex over (ƒ)}_(D))t+{circumflex over (θ)}₁)−isin(2π(ƒ_(IF)+{circumflex over (ƒ)}_(D))t+{circumflex over (θ)}₁)  (18)

with the approximations {circumflex over (ƒ)}_(D) and {circumflex over(θ)}₁ tracking closely the ƒ_(D) and θ₁ of equation (6), and thegenerated code

x_(C)(t−{circumflex over (τ)})  (19)

has {circumflex over (τ)} that is a close estimate of τ.

The code and the carrier measurement are applied to subsequent modules(not shown) that decode the navigation message, determine satelliteephemeris, and compute the pseudo-range, and with correspondingpseudo-ranges obtained by processing other satellites, the physicallocation of the receiver is computed (through quadralateration) anddisplayed.

All of the above is conventional, and the reader is invited to perusethe book “Global Positioning System” by Misra and Enge, Ganga-JamunaPress, 2006 for further details. In general, the GPS literature isenormous. It describes alternate implementation to the above, where, forexample, the code and carrier removal processes described by equations(7), (8) and (9) are done in different order. It also describesimplementations that use correlator spacings other than those chosen inequations (16) and (17). The literature is also replete withdiscriminator strategies that differ from the simple “early minus late”strategy described here.

In commercial applications the C/A code is publicly known and,consequently, GPS receivers are vulnerable to spoofing. A hostile partycan generate a facsimile of one or more satellite signals that carryincorrect information, and a GPS receiver that accepts the bogus signalswill compute an incorrect position and, in fact, may be caused tocompute a position that the hostile party wishes to have the receivercompute. However, spoofing is not a problem for those who are able touse the Y code because this code is not publicly known, so a hostileparty cannot create a signal that appears bona fide. This problem is notunique to GPS receivers, of course. It is endemic to all globalpositioning systems that rely on insecure signals.

The primary object of this disclosure is to create a method and a meansfor having confidence that a global position computation, or anassertion based on a global position, is bona fide.

Another object of this disclosure is to have global positioningcomputation devices, such as GPS receivers that, without having accessto the information contained in a secure signal, or access to the codethat makes the information secure (henceforth, the unknown signal), suchas the Y code in the GPS signal, are nevertheless able to withstandspoofing attempts, for example an attack by a rogue user with access toan authorized receiver or an attack by a malicious agent attempting todupe legitimate users.

Yet another object of this invention is to determine the location of adevice by processing the unknown signal jointly at the two stations (orlocations).

Still another object of this invention is to authenticate a claimregarding a location that such a computing device asserts in connectionwith information services, such as financial services.

SUMMARY OF THE INVENTION

The above and other objects are achieved, and an advance in the art isrealized by effectively employing the unknown signal (e.g., the Y code)for authentication, and more particularly by receiving a first signalfrom a source (e.g., satellite n), which signal contains the unknownsignal and is also adapted to make a statement (e.g., an assertion of aglobal position), receiving a second signal that also contains anunknown signal with which information is associated that is differentfrom, but related to, the information associated with the first unknownsignal, and processing the two unknown signals to authenticate thestatement. Confidence in the authentication results from one of thesignals being received in a manner that insures it being not affected byhostile signals that perhaps affect the first signal. Illustratively,the second signal is received by another receiver that is remote fromthe first receiver.

In one illustrative embodiment, the first receiver is an improved GPSreceiver whose assertions of global position one wishes to authenticate,and the second receiver is an improved GPS receiver that, to the extentdesired by the party that wishes to trust the authentication, is knownto receive bona fide satellite signals. The first improved GPS receiverprocesses the signal that is putatively received from satellite n todevelop accurate estimates of transit delay, Doppler frequency shift andcarrier phase shift for the received signal—which estimates aretypically developed in the course of determining the receiver's globalposition—and sends to the second improved GPS receiver a signal (signalA) that accounts for the estimated transit delay, Doppler frequencyshift and carrier phase shift. The second improved GPS receiver employssignal A as well as a signal (signal B) that is developed from thesignal the second receiver received from satellite n, and correlates theY component signals in signals A and B. A test of the correlationdetermines whether to authenticate signal A. For example, a correlationthat exceeds a selected threshold is concluded to be an authenticationthat the signal sent by the first improved GPS receiver indeedoriginated from satellite n.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a block diagram of a GPS receiver;

FIG. 2 is a block diagram illustrating the processing performed in anacquisition module of a GPS receiver;

FIG. 3 is a block diagram illustrating the processing performed in atracking module of a GPS receiver;

FIG. 4 depicts an arrangement where a first GPS receiving unit that isconstructed in accord with the principles disclosed herein and which isembedded in a portable computer of an employee is communicating to asecond GPS receiving unit that is correspondingly constructed in accordwith the principles disclosed herein in a gateway to an employer's datanetwork;

FIG. 5 illustrates the processing within the second GPS receiver whenthe first receiver obtains good estimates of transit delay, Dopplerfrequency shift and carrier phase shift, and provides a signal to thesecond GPS receiver with carrier wipeoff already carried out;

FIG. 6 illustrates the processing within the second GPS receiver whenthe first receiver obtains good estimates of transit delay, Dopplerfrequency shift and carrier phase shift, and provides to the second GPSreceiver a the raw signal that contains information about all satelliteswhose signals are received by the first GPS receiver, and the transitdelay, Doppler frequency shift and carrier phase shift estimates of allof those satellites;

FIG. 7 illustrates the processing within the second GPS receiver whenthe signal that the first GPS receiver sends is the raw signal only; and

FIG. 8 presents an illustrative example of a three party embodiment ofthis invention, involving a supplicant, a resource, and anauthentication authority.

DETAILED DESCRIPTION

An important realization that is disclosed herein is that given a signalfrom a source that comprises a secure, though unknown, component and acorresponding known but not secure component, where both the known andunknown components are similarly affected by physical conditions andthose effects are computed for the known component, it is possible toauthenticate the known component by using a second signal that is achanged version of the signal from the source—where either the secondsignal or the given signal is known to be bona fide—through use of theunknown components of the given signal and of the second signal.

The following applies this insight to the problem where the source isone or more satellites that output signals which are used for variouspurposes, including global positioning; and more particularly to theaforementioned problem in the context of the Global Positioning System.It should be understood, however, that the principles disclosed hereinare not limited to the illustrative embodiment presented below.

FIG. 4 represents one illustrative embodiment of the invention disclosedherein, where unit 201 is a GPS receiver that is modified in accord withthe principles disclosed herein and which, illustratively, is embeddedin portable computer 200 of an employee. For security reasons, theemployer of this employee wishes to preclude access by that portablecomputer relative to at least some of the employer's resources (e.g.,files pertaining to some project) unless that portable computer is atone of the employer's numerous locations. Therefore the employerinstalls unit 301 in gateway 300, which is the point of entry to theemployer's data network of the employer, and unit 301 is a GPS receiverthat is also modified in accord with the principles disclosed herein.For the illustrative example of FIG. 4, it is presumed that the employeris satisfied that receiver 301 receives bona fide satellite signals.

In addition to units 201 and 301, FIG. 4 includes a communication link30 by which communication can flow between units 201 and 301. Forpurposes of the global location authentication that is described below,the communication link does not need to be secure. It is expected,however, that in some applications this link will need to be secure; forexample, where this communication link is also used to send backauthorizations.

Unit 201 receives the signals from a number of satellites and processesthem as described above to compute the global position of unit 201 basedon the received signals. In the course of processing the signal ofsatellite n, the signal of equation (12) is developed, and as part ofdeveloping this signal unit 201 creates a signal that corresponds to thereceived (and downshifted) signal of equation (6) multiplied by thephasor of equation (8). That is, unit 201 creates the signal(downshifted, carrier wipeoff relative to satellite n, but not C/A codewipeoff):

$\begin{matrix}{{A^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{C}^{A}\left( {t - \tau^{A}} \right)}\begin{Bmatrix}{{\cos \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} + {\hat{\theta}}_{1}^{A}} \right)} +} \\{{\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)} -} \\{{i\; {\sin \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} + {\hat{\theta}}_{1}^{A}} \right)}} +} \\{i\; {\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}}\end{Bmatrix}} + {B^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{Y}^{A}\left( {t - \tau^{A}} \right)}{\begin{Bmatrix}{{\sin \left( {{2{\pi \left( {{2\; f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} + {\hat{\theta}}_{1}^{A}} \right)} +} \\{{\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)} +} \\{{i\; {\cos \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} + {\hat{\theta}}_{1}^{A}} \right)}} -} \\{i\; {\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}}\end{Bmatrix}.}}} & (20)\end{matrix}$

where the superscript A designates the signal of unit 201.

A low pass filter discards the terms with frequency on the order of2πƒ_(IF), leaving

$\begin{matrix}{{A^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{C}^{A}\left( {t - \tau^{A}} \right)}\begin{Bmatrix}{{\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)} +} \\{i\; {\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}}\end{Bmatrix}} + {B^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{Y}^{A}\left( {t - \tau^{A}} \right)}\begin{Bmatrix}{{\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)} -} \\{i\; {\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}}\end{Bmatrix}}} & (21)\end{matrix}$

which can be written as

S_(I) ^(A)+iS_(Q) ^(A)  (22)

where

$\begin{matrix}{S_{I}^{A} = {{A^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{C}^{A}\left( {t - \tau^{A}} \right)}{\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}} + {B^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{Y}^{A}\left( {t - \tau^{A}} \right)}{\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}}}} & (23) \\{\mspace{79mu} {and}} & \; \\{S_{Q}^{A} = {{A^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{C}^{A}\left( {t - \tau^{A}} \right)}{\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}} - {B^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{Y}^{A}\left( {t - \tau^{A}} \right)}{{\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}.}}}} & (24)\end{matrix}$

Approach A

In accordance with a first approach, unit 201 sends the quadraturesignal of equation (24) to unit 301 over link 30, together withidentification of the satellite whose signal the sent signal represents.

Unit 301 develops a similar signal; that is,

$\begin{matrix}{S_{Q}^{B} = {{A^{B}{D^{B}\left( {t - \tau^{B}} \right)}{x_{C}^{B}\left( {t - \tau^{B}} \right)}{\sin \left( {{2{\pi \left( {f_{D}^{B} - {\hat{f}}_{D}^{B}} \right)}t} + \theta_{1}^{B} - {\hat{\theta}}_{1}^{B}} \right)}} - {B^{B}{D^{B}\left( {t - \tau^{B}} \right)}{x_{Y}^{B}\left( {t - \tau^{B}} \right)}{{\cos \left( {{2{\pi \left( {f_{D}^{B} - {\hat{f}}_{D}^{B}} \right)}t} + \theta_{1}^{B} - {\hat{\theta}}_{1}^{B}} \right)}.}}}} & (25)\end{matrix}$

The transit time from a satellite to unit 201, τ^(A), is different fromthe transit time from the same satellite to unit 301, τ^(B), so inaccord with the first approach, the signal received from unit 201 isdelayed by δ, where δ may be a positive or negative quantity, and aproduct of the signals S_(Q) ^(A) (delayed) and S_(Q) ^(B) isintegrated; i.e.,

$\begin{matrix}\begin{matrix}{S = {\int\left\lbrack {{S_{Q}^{A}({delayed})} \times S_{Q}^{B}} \right\rbrack}} \\{= {\int\begin{bmatrix}{\begin{Bmatrix}{A^{A}{D^{A}\left( {t - \tau^{A} - \delta} \right)}{x_{C}^{A}\left( {t - \tau^{A} - \delta} \right)}} \\{{\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}\left( {t - \delta} \right)} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)} -} \\{B^{A}{D^{A}\left( {t - \tau^{A} - \delta} \right)}{x_{Y}^{A}\left( {t - \tau^{A} - \delta} \right)}} \\{\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}\end{Bmatrix} \times} \\\begin{Bmatrix}{{A^{B}{D^{B}\left( {t - \tau^{B}} \right)}{x_{C}^{B}\left( {t - \tau^{B}} \right)}{\sin \left( {{2{\pi \left( {f_{D}^{B} - {\hat{f}}_{D}^{B}} \right)}t} + \theta_{1}^{B} - {\hat{\theta}}_{1}^{B}} \right)}} -} \\{B^{B}{D^{B}\left( {t - \tau^{B}} \right)}{x_{Y}^{B}\left( {t - \tau^{B}} \right)}{\cos \left( {{2{\pi \left( {f_{D}^{B} - {\hat{f}}_{D}^{B}} \right)}t} + \theta_{1}^{B} - {\hat{\theta}}_{1}^{B}} \right)}}\end{Bmatrix}\end{bmatrix}}}\end{matrix} & (26)\end{matrix}$

which can be written in more manageable form as

S=∫[XU−YU−XW+YW]  (27)

where

X=A ^(A) D ^(A)(t−τ ^(A)−δ)x _(C) ^(A)(t−τ ^(A)−δ)sin(2π(ƒ_(D)^(A)−{circumflex over (ƒ)}_(D) ^(A))t+θ ₁ ^(A)−{circumflex over (θ)}₁^(A))  (28)

Y=B ^(A) D ^(A)(t−τ ^(A)−δ)x _(Y) ^(A)(t−τ ^(A)−δ)cos(2π(ƒ_(D)^(A)−{circumflex over (ƒ)}_(D) ^(A))t+θ ₁ ^(A)−{circumflex over (θ)}₁^(A))  (29)

U=A ^(B) D ^(B)(t−τ ^(B))x _(C) ^(B)(t−τ ^(B))sin(2π(ƒ_(D)^(B)−{circumflex over (ƒ)}_(D) ^(B))t+θ ₁ ^(B)−{circumflex over (θ)}₁^(B))  (30)

and

W=B ^(B) D ^(B)(t−τ ^(B))x _(Y) ^(B)(t−τ ^(B))cos(2π(ƒ_(D)^(B)−{circumflex over (ƒ)}_(D) ^(B))t+θ ₁ ^(B)−{circumflex over (θ)}₁^(B))  (31)

As indicated above, the estimates of τ^(A), {circumflex over (ƒ)}_(D)^(A), and {circumflex over (θ)}₁ ^(A), are quite good, and so are theestimates of τ^(B), {circumflex over (ƒ)}_(D) ^(B), and {circumflex over(θ)}₁ ^(B). Given accurate information about the phase shifts, unit 301can perform coherent demodulation. Consequently, over the integrationinterval that needs to be employed for equation (26), the sin( )termscan be replaced with 0 (i.e., X=U=0), and the cos( )terms can bereplaced with their respective coefficients. This leads to

S=B ^(A) B ^(B) ∫D ^(A)(t−τ ^(A)−δ)D ^(B)(t−τ ^(B))x _(Y) ^(A)(t−τ^(A)−δ)x _(Y) ^(B)(t−τ ^(B)).  (32)

Clearly, when the signal of unit 301 is bona fide and, therefore,

-   -   x_(Y) ^(B)(t−τ^(B)) is equal to x_(Y) ^(A)(t−τ^(A)),    -   D^(A)(t−τ^(A)) is equal to D^(B)(t−τ^(B)), and    -   (D^(B)(t−τ^(B)))²=1, because the message signal, D, can only        have ±1 values. Thus, the value of S in equation (32) is maximum        when δ=τ^(B)−τ^(A); i.e.,

S=B^(A)B^(B).  (33)

Thus, without knowing the Y code signal x_(Y)(t−τ), the arrangement ofFIG. 4 executes a method that recognizes—by the value of S for differentvalues of δ—when a signal that is received by unit 201 and a signal thatis received by unit 301 originate from a given source that outputs asignal that is modulated with a signal x_(Y)(t−τ), when that is thecase; and conversely, recognizes when one of the signals is not from thegiven source.

One can appreciate that the receiver shown in FIG. 1 includes processor100 and memory 110 that operate on digital signals and, therefore, canbe implemented in a programmed general purpose processor. Similarly,unit 201 can include hardware elements that correspond to elements 10,12, 15, 18, 20 and 22, and employ the computing power of portablecomputer 200 to carry out the various calculations disclosed above,which in the FIG. 1 embodiment would be performed in element 100 and itsassociated memory 110. The software that is necessary in unit 201 toaugment the conventional receiver advantageously implements a filter todevelop the signal of equation (24) from the signal of equation (20),and a module for sending to line 30 the signal of equation (24), and theidentity of the satellite whose signal is represented by the sentsignal. This extremely modest addition to the software is quite simple,which a skilled artisan can create without undue experimentation in anyone of a number of techniques that are well known in the art.

The modification to the GPS receiver in unit 301 is somewhat greaterthan in unit 201, but still quite simple to implement in a programmedgeneral purpose processor (which may be part of the processor thatgateway 200 employs). FIG. 5 diagrammatically shows unit 301 to includea port to receive the signal sent by unit 201, a delay unit 21 that isresponsive to the equation (25) signal, and a correlation module 25 thatis responsive to the delayed signal at the output of delay unit 21 andto the signal of equation (25) that is extracted from the signals thatthe conventional GPS receiver creates in the course of determining itsglobal position.

The correlation unit computes the integral of equation (26) withfunction S=function A( ), and provides the developed value S tocontroller module 23. The correlation function provides an indication ofthe degree to which signal A, with some delay, is the same as signal B.When they are indeed the same, then the correlation outputs a highvalue, or a peak. Bogus signals, even when they are somewhat similar tothe authentic signal, will result in lower correlation value regardlessof what delay is chosen. One simple way, therefore, is to compare thestrongest correlation peak to the next strongest peak. This isillustrated by the following function that module 23 executes:

for δ (−N,+N, Δ N) do Call S=function A( δ ) If S > S_(highWaterMark)then { S_(nextHighest) = S_(highWaterMark) S_(highWaterMark) = S } Doneif ( S_(highWaterMark) / S_(nextHighest)) > Threshold then output “OK”else output “NOT OK” end ifwhere N is greater than the expected delay difference (τ^(B)—τ^(A)), andΔN is the increment that a designer might choose to employ in seekingthe maximum in the correlation function of equation (26). Of course, ifunit 201 were to send the value of {circumflex over (τ)}^(B) along withthe signal of equation (24) then the range of N can be reducedsignificantly because it would be expected to find a maximum at δ=0.

It should be noted that the above is just one embodiment of the testthat is performed on the correlation results. It may be noted, forexample, that in embodiments that employ high sampling rates severallarge peaks may appear, but those peak are artifacts, and in suchembodiments other tests are typically employed that factor in thesampling rate (as related to ΔN) and the relative position of the peaks,to determine which points to compare for the threshold.

It is recognized that in order to compute a global position, the signalof more than one satellite must be used. Therefore, authenticating thesignal of one satellite, as disclosed above, does not, ipso facto,guarantee that unit 201 is not impacted by a bogus signal relative tothe signal of another satellite that it is using for its global positioncomputations. If it is so impacted, then one cannot trust its assertionregarding its global position. However, time can be divided into fairlylong-duration frames, and during each frame a different one of thesignals that unit 201 employs can be sent to unit 301 forauthentication. If all of the signals are authenticated, then one cantrust that the position asserted by unit 201 is valid in the sense thatit has not been compromised by a hostile party causing it to receivebogus signals.

It should also be noted that the location can be computed using morethan the minimum number of satellites (4 satellites to compute latitude,longitude, elevation and GPS time) and that not all of the satellitesignals need to be authenticated. Having a majority of the signalsauthenticated can be used to test the consistency of non-authenticatedsignals, provided that the location estimate reported by unit 201 agreeswith the location estimate developed using a subset of authenticatedsatellites.

Once confidence is gained about the signals provided by unit 201 thatare used to compute a global position of unit 201 then one can also haveconfidence in an identification of the global position by unit 201 asasserted by unit 201. This assumes, of course, that unit 201 doescompute its global position (in a completely conventional way) andreports its position to unit 301.

Alternatively, instead of trusting unit 201's assertion of its position,it is possible to have unit 301 compute the position of unit 201. Thissecure position determination is achieved by unit 201 sending theequation (24) signals of a number of satellites that is necessary tocompute a position. Noting that the δ determined relative to a satelliteinforms of the transit delay from the satellite to unit 201(τ^(B)=τ^(A)+δ), given a sufficient number of transit delays (combinedwith unit 301's global position and information about the satellites'locations) the global position of unit 201 can be ascertained throughconventional calculations.

It may be appreciated that authenticating an asserted position, orsecurely determining a position, does not need to be done continually.At times the global position of unit 201 is immaterial. At other times,one can assume that unit 201 has not significantly wandered off theauthenticated position. Therefore, in many applications it is acceptableif unit 201 sends only a signal segment, or snapshot, to unit 301. Inother applications it may be advisable to send a signal snapshot on someregular basis.

It should be appreciated that the FIG. 4 arrangement where unit 201 iswithin computer 200 and utilizes the computing power that is otherwiseavailable in the computer is merely illustrative. Unit 201 may have thefull computing capabilities within itself (note the processor in unit201), and it may be a stand-alone item, an item that is pluggable into adevice such as portable 200, or it may be permanently (orsemi-permanently) attached to an article and so transported from placeto place; e.g., attached to a shipping container.

It should also be appreciated that unit 201 may contain a memory forstoring one or more signal segments (raw, or processed), and the storedinformation may be communicated to unit 301 at some later time (i.e., anon-real time operation) by relatively direct connection; that is,without the use of a communication network that is shown in FIG. 4. Thetransfer of information may be initiated by a push-button switch in unit201 (not explicitly shown in FIG. 4), by an electronic instruction fromunit 301, by physically transferring the memory from unit 203 (see FIG.7) to an appropriate connector on unit 301, or by some otherconventional means.

The above discloses an arrangement where unit 201 sends to unit 301 thesignal of equation (24), which is the signal after carrier wipeoffrelative to satellite n. When sending the signals of M satellites, Msuch signals need to be sent. There are certainly applications wherethis is acceptable but if the M signals need to be sent concurrently,then the bandwidth of path 30 must be M times greater than the bandwidthrequired to send one signal.

In an alternative embodiment, shown in FIG. 6, rather than sendingquadrature channel signal as described above, unit 201 sends to unit 302the raw data and also sends the computed Doppler frequency and carrierphase estimates for at least each of the satellites that is used incomputing its global position. The difference between unit 301 and 302is that in unit 302 the raw data and the estimates are processed inprocessor 24 to develop the quadrature channel signal of equation (24).The bandwidth requirement (for sending the signal from unit 201 to unit301) is essentially unchanged from the bandwidth needed for onesatellite signal.

In some applications a small size for the device (unit 200 in FIG. 4)may be more important than the ability of the device to know its ownglobal position. Indeed, in some applications it may be totallyunimportant for the GPS receiver to know its location but, rather, itmay suffice for the other receiver (e.g., unit 301 in FIG. 4) to knowwhere unit 200 is, or has been. In other words, there are applicationswhere it may not be necessary for the GPS receiver do the processingthat is associated determining its global position. To that end, unit203 (FIG. 7) needs to merely send its raw signal to receiver 303 (FIG.7), or record signal segments internally for future delivery to unit303.

Approach B

FIG. 7 depicts an arrangement with the GPS receiver 203 that isoptionally devoid of the processing that involves carrier wipeoff andcode wipeoff. The receiver, 203, only downshifts the received signal andsends this raw data to receiver 303 (without any delay, Doppler shift,or phase estimates), together, perhaps with some general informationabout its presumed (or asserted) location. The raw data might be sentimmediately, or stored in a local memory, and sent at a later time. Inother words, the signal that is provided to receiver 303 by receiver 203is:

$\begin{matrix}{S_{downshifted}^{A} = {{A^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{C}^{A\;}\left( {t - \tau^{A}} \right)}{\cos \left( {{2{\pi \left( {f_{IF} + f_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)}} + {{{BD}\left( {t - \tau^{A}} \right)}{x_{Y}^{A}\left( {t - \tau^{A}} \right)}{\sin \left( {{2{\pi \left( {f_{IF} + f_{D}^{A\;}} \right)}t} + \theta_{1}^{A}} \right)}}}} & (34)\end{matrix}$

and a rough location information which, from satellite orbit tables thatare publicly known, an estimate {circumflex over (ƒ)}_(D) ^(A) isobtained. The rough information may be in the form of an assertion as tothe location of receiver 203. It is recognized that no information isavailable about the value of θ^(A), and that the estimate {circumflexover (ƒ)}_(D) ^(A) is likely to be inaccurate but it is neverthelesshelpful, as is demonstrated below. Absent information about θ^(A),processor 24 executes non-coherent demodulation and multiplies theincoming signal by

cos 2π(ƒ_(IF)+{circumflex over (ƒ)}_(D) ^(A))t+i sin2π(ƒ_(IF)+{circumflex over (ƒ)}_(D) ^(A))t  (35)

to result in

$\begin{matrix}{{A^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{C}^{A}\left( {t - \tau^{A}} \right)}\begin{Bmatrix}{{\cos \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)} +} \\{{\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)} -} \\{{i\; {\sin \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)}} +} \\{i\; {\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)}}\end{Bmatrix}} + {B^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{Y}^{A}\left( {t - \tau^{A}} \right)}{\begin{Bmatrix}{{\sin \left( {{2{\pi \left( {{2\; f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)} +} \\{{\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)} +} \\{{i\; {\cos \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)}} -} \\{i\; {\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)}}\end{Bmatrix}.}}} & (36)\end{matrix}$

and recognizing that a later integration operation operates as a lowpass filter that discards the signal components that include the 2ƒ_(IF)frequency, equation (34) can be simplified to

S _(I) ^(A) +S _(Q) ^(A)=(W+X)+i(Y−Z)  (37)

where

W=A ^(A) D ^(A)(t−τ ^(A))x _(C) ^(A)(t−τ ^(A))cos(2π(ƒ_(D)^(A)−{circumflex over (ƒ)}_(D) ^(A))t+θ ₁ ^(A))  (38)

X=B ^(A) D ^(A)(t−τ ^(A))x _(Y) ^(A)(t−τ ^(A))sin(2π(ƒ_(D)^(A)−{circumflex over (ƒ)}_(D) ^(A))t+θ ₁ ^(A))  (39)

Y=A ^(A) D ^(A)(t−τ ^(A))x _(C) ^(A)(t−τ ^(A))sin(2π(ƒ_(D)^(A)−{circumflex over (ƒ)}_(D) ^(A))t+θ ₁ ^(A))  (40)

and

Z=B ^(A) D ^(A)(t−τ ^(A))x _(Y) ^(A)(t−τ ^(A))cos(2π(ƒ_(D)^(A)−{circumflex over (ƒ)}_(D) ^(A))t+θ ₁ ^(A))  (41).

Delay element 21 of FIG. 7 introduces delay δ, and element 26 in theFIG. 7 embodiment executes the integration

$\begin{matrix}{S = {\sqrt{\left( {\int{{S_{I}^{A}({delayed})} \times S_{Q}^{B}}} \right)^{2} + \left( {\int{{S_{Q}^{A}({delayed})} \times S_{Q}^{B}}} \right)^{2}}.}} & (42)\end{matrix}$

Noting that equation (25) specifies S_(Q) ^(B), which can be expressedby

S _(Q) ^(B) =U+V

where

U=A ^(B) D ^(B)(t−τ ^(B))x _(C) ^(B)(t−{circumflex over (τ)}^(B))sin(2π(ƒ_(D) ^(B)−{circumflex over (ƒ)}_(D) ^(B))t+θ ₁^(B)−{circumflex over (θ)}₁ ^(B))  (43)

and

V=−B ^(B) D ^(B)(t−τ ^(B))x _(Y) ^(B)(t−{circumflex over (τ)}^(B))cos(2π(ƒ_(D) ^(B)−{circumflex over (ƒ)}_(D) ^(B))t+θ ₁^(B)−{circumflex over (θ)}₁ ^(B)),  (44)

equation (42) can be expressed as

$\begin{matrix}{S = \sqrt{\begin{matrix}{\left( {\int\left( {{W^{\prime}U} + {W^{\prime}V} + {X^{\prime}U} + {X^{\prime}V}} \right)} \right)^{2} +} \\\left( {\int\left( {{Y^{\prime}U} + {Y^{\prime}V} + {Z^{\prime}U} + {Z^{\prime}V}} \right)} \right)^{2}\end{matrix}}} & (45)\end{matrix}$

where the primed variables (e.g., W′) are the delayed version of theunprimed variables (e.g., W).

A number of observations and approximations can be made that reduce thecomplexity of equation (45).

-   -   Since the approximations of the Doppler frequency and carrier        phase shift for unit 303 signal are good, the U term can be        replaced by 0, and the cos( ) term in the V term can be replaced        by 1.    -   The W and the Y terms have the x_(C) ^(A) (t−τ^(A)) code signal        multiplier whereas the V term has the x_(Y) ^(B)(t−{circumflex        over (τ)}^(B)) code signal multiplier, and since the two codes        are orthogonal to each other, the contributions of the WV and        the YV terms to the integral is roughly 0    -   As indicated above, the estimate {circumflex over (ƒ)}_(D) ^(A)        is not necessarily an accurate estimate, but even it if a rough        estimate, the resulting trigonometric function varies slowly        relative to the chip rate of the Y code, which allows the        non-trigonometric factors that are common to XV and ZV to be        factored out, and then the sum of squared sin( )and cos( ) terms        that remain can be replaced by 1.

The above allows reducing equation (45) to

S=B ^(A) B ^(B) ∫D ^(A)(t−τ ^(A)−δ)D ^(B)(t−τ ^(B))x _(Y) ^(A)(t−τ^(A)−δ)x _(Y) ^(B)(t−{circumflex over (τ)} ^(B)),  (46)

so it is quite clear that the integration result exhibits a maximum whenτ^(A)+δ={circumflex over (τ)}^(B) and the code x_(Y) ^(A)(t)=x_(Y)^(B)(t).

As before, controller 23 finds the delay 8 that provides the peak valueof S, and compares it to other values in order to determine whether thesignal send by unit 203 contains a bona fide signal from that particularsatellite for which the processing operation of equation (46) was justexecuted.

Needless to say, Approaches A and B, described above, are simply twopreferred implementations and many variations exist. For example, unit201 could send C/A code information as well as Y code information. Inthis case, unit 301 could determine the relative timing, δ=τ^(B)−τ^(A),for the C/A code as well as the Y code and insist that they agree. Othervariations exist. Under Approach A, unit 201 performs code and carrierwipeoff and unit 301 coherently demodulates the data. Under Approach B,unit 201 does not perform code or carrier wipeoff. Rather, it sends,more primitive, downshifted data, and unit 301 performs non-coherentdemodulation. This pairing is mutable. In other words, unit 201 couldsend downshifted data and unit 301 could perform coherent demodulation.

The software with which one might wish to implement a particularembodiment of the invention disclosed herein is fairly simple toimplement; though, of course, it takes time to create, as all softwaredoes. Notwithstanding the fact that the software needed to implement theinvention disclosed herein is totally straight forward and can be easilyimplemented without undue experimentation by any person skilled in theart, to assist the reader, an appendix is included herein of an actualembodiment.

The above illustrative embodiment has the first receiver in a portablecomputer and the second receiver in gateway that is remote from theportable computer. Perhaps it should be mentioned explicitly that theassumption is that the signal received by receiver 301 is not impactedby a bogus signal to which the portable computer may be subjected. Amere physical separation, when it is big enough so that the receiversare not subjected to the signal of a given (bogus) source, tends toinsure this situation because a hostile party is not likely to be ableto send a bogus signal to portable 200 and to also send an appropriatereplica of the same bogus signal to receiver 301. Additionally, receiver301 can take steps to insure that this does not happen by, for example,using antennas that are electronically directed to respond well tosignals only from certain directions (where the satellites are expectedto be) and to not respond well to signals from other directions.

The above illustrative embodiment focuses on the processing being donein gateway 300. This makes sense for the illustrative embodiment, but itshould be realized that other embodiments are certainly possible whereit may be desirable to perform the processing in a moving unit thatcontains the receiver that outputs signal A and which potentially isunder electronic attack (e.g., an airplane), for example, where theaction in response to the authentication takes place in moving unitand/or when there are so many moving units that processing in the unitthat generates signal B might overload the capability of the processorthat is available at that location.

It should also be noted that the receiver that generates signal B doesnot need to be stationary because, as indicated above, mutualauthentication is possible if the distance between the two receivers isbig enough so that the receivers are not subjected to the signal of agiven (bogus) source.

The above illustrative embodiment is a two party example (portable 200and gateway 300). FIG. 8 presents an illustrative example of a threeparty embodiment, involving a supplicant (e.g., portable 200), aresource (e.g., gateway 300) and an authentication authority. Signal Ais provided by the supplicant, signal B is provided by theauthentication authority and the processing is performed in any of thethree locations, depending on the particular application and the desiresof the parties. It may be noted that just as there is a memory in unit201 of FIG. 4 for storing time segments of data, unit 301 can alsoinclude a memory for storing raw or processed data; particularly forapplications where the at least some of the authentication processing isperform in other than the authentication authority.

One advantage of the FIG. 8 embodiment is that it efficiently supportsmany supplicant-resource pairs because it requires no GPS receiving orsophisticated processing by the resource, and because the authenticationauthority can afford to make greater efforts to insure that its signal Bis authentic. For example, the supplicants can be bank customers, andthe resources can be banks. High powered satellite antennas that arehighly directional are expensive, and banks generally would be happy tonot have to invest in such antennas but allow an authenticationauthority to guarantee that signal B is authentic. The authenticationauthority, on the other hand, can afford to employ expensive antennaarrangements and other techniques to insure the bona fide of signal Bbecause the cost may be amortized over many customers of theauthentication authority.

In addition (or in lieu of) using very directional antennas, theauthentication authority can be located at some physically remotelocation that is secure from transmission by hostile parties. Theremoteness makes it more likely than not that a hostile party will notsucceed in transmitting to the directional antennas, and it will almostcertainly ensure that whatever hostile signal is transmitted to units201 will not correspond to the hostile signals to which theauthentication authority might be subjected. By contrast, banks aresituated in locations that are readily accessible to all.

Further, the authentication authority can be located permanently at itssecure location and can make the effort to know its own global positionwith great accuracy, in contrast to banks that sometimes changelocations. This allows the authentication authority to compute itslocation from the received signals and by comparing the computedlocation with the known location it can confirm that its receivedsignals are bona fide. Moreover, since the authentication of a locationis effectively decided by comparing an asserted location to a locationcomputed relative to the location of the authentication authority, anaccurate location of the authentication authority is important.

Further still, the authentication authority can itself receive othersignals that it can process to confirm the bona fide of its signal B—forexample, from locations that are greatly removed from the authenticationauthority location that receives signal B, or from other systems (e.g.,LORAN).

In yet another improvement, the authentication authority has a number offacilities, at different locations around the globe, and the signal Bthat is used for processing is from a location that is selected trulyrandomly (in contrast to pseudorandomly) from among the differentlocations.

It should be noted that in the above example of bank customers, banks,and an authentication authority, the banks may be satisfied to directcustomers to send signal A to the authentication authority and have theauthentication authority provide the bank (via a securely transmittedmessage) the location of the supplicant customer and a confirmation thatthe location is authentic. Presumably, this would allow the bank toproceed with the transaction in which the bank customer wishes toengage. On the other hand, the bank may wish to merely receive signal Bfrom the authentication authority and itself accept signal A from itscustomers and itself do the processing. In the first case, theprocessing is done at the authentication authority, while in the secondcase the processing is done at the resource.

Thus useful embodiments exist where the processing is performed in thesupplicant's equipment, in the resource's equipment, or in theauthentication authority equipment.

By way of example and not by way of limitation, the followingillustrates a number of applications, in addition to the applicationsdescribed above, to which the principles disclosed herein areapplicable.

-   Information & Asset Protection: Determine location of a device, such    as portable computer 201, and allow operation of that device or    access to sensitive information on the device only if the device is    at an authorized location or within an authorized zone.-   Financial Transaction assurance: Verify that the person (or agent)    at the other end of a communication channel is really who the person    claims to be, by verifying that the communication originates from a    known, authorized, and secure location.-   Fraud Detection & Non-repudiation: Check whether a transaction    originated from where it claims to have originated, and thereby    acquire a confirmation that a document to which an electronic    signature is affixed (or other means of verifying a    transaction/communication) really did originate from where the    message claims to have originated.-   Asset Tracking & Route Auditing: Confirm where an object is and/or    recreate the route that the object followed during a chosen time    span (e.g., while being transported)—by recording signal segments    and later processing the signal segments.-   Internet & Online Security: Confirm that a party that provides    information or seeks information (e.g., a web server) is located at    a particular spot, which location presumably can be checked against    online public databases or printed (and presumably    secure/unmodified) versions of databases.-   Secure Electronic communication: Use location to verify identity and    to increase security of cryptographic key exchange between two or    more parties. This includes distribution of encryption/decryption    keys (either symmetric or asymmetric), where only a supplicant with    the correct geo-location can obtain the cryptographic key; or even    more securely, where the key is never communicated directly, even in    encrypted form, and only a supplicant with the correct geo-location    can determine the cryptographic key.-   Smartcards & Access Control: Confirm location during an    access-request transaction with a centralized access-granting    authority.

1. A method executed in a first receiver comprising the steps of:receiving a signal S_(received) ^(A) that is substantially equal to$\sum\limits_{i = 1}^{j}\left\{ {{\alpha_{i}^{A}{\cos \left( {{2{\pi \left( {f_{L\; 1} + f_{i,D}^{A}} \right)}t} + \phi_{i}^{A}} \right)}} + {\beta_{i}^{A}{\sin \left( {{2{\pi \left( {f_{L\; 1} + f_{i,D}^{A}} \right)}t} + \phi_{i}^{A}} \right)}}} \right\}$where α_(i) ^(A) is equal to A_(i) ^(A)D_(i)(t−τ_(i)^(A))x_(i,C)(t−τ_(i) ^(A)), β_(i) ^(A) is equal to B_(i)^(A)D_(i)(t−τ_(i) ^(A))x_(i,Y)(t−τ_(i) ^(A)), cos(2π(ƒ_(L1)+ƒ_(i,D)^(A))t+φ_(i) ^(A)) and Sin(2π(ƒ_(L1)+ƒ_(i,D) ^(A))t+φ_(i) ^(A)) arecarrier signals from satellite i at a frequency that is substantiallyequal to ƒ_(i,L1), which experience a Doppler frequency shift of ƒ_(i,D)during transit from satellite i to said first receiver, and arrive atthe first receiver with a phase shift of φ_(i), A_(i) ^(A) and B_(i)^(A) are amplitude constants pertaining to signals A, and B, that areoutputted by satellite i, D_(i)(t) is data signal that is outputted bysatellite i, r_(i) ^(A) is transit delay from satellite i to said firstreceiver, x_(i,C)(t) is a publicly known first code signal fromsatellite i, and x_(i,Y)(t) is a second code from satellite i that ispublically not known, developing, from signal S_(received) ^(A), signal$S_{ds}^{A} = {\sum\limits_{i = 1}^{j}\left\{ {{\alpha_{i}^{A}{\cos \left( {{2{\pi \left( f_{i,x}^{A} \right)}t} + \gamma_{i}^{A}} \right)}} + {\beta_{i}^{A}{\sin \left( {{2{\pi \left( f_{i,x}^{A} \right)}t} + \gamma_{i}^{A}} \right)}}} \right\}}$for one or more preselected time intervals, where ƒ_(i,x)^(A)=ƒ_(IF)+ƒ_(i,D) ^(A) or ƒ_(i,x) ^(A)=ƒ_(i,D) ^(A)−{circumflex over(ƒ)}_(i,D) ^(A), ƒ_(IF) is a preselected intermediate frequency,{circumflex over (ƒ)}_(D) ^(A) is an approximation of ƒ_(D) ^(A), andγ_(i) ^(A) is a phase shift; and communicating to a computing module theprocessed signal for said one or more preselected time intervals.
 2. Themethod of claim 1 where said step of communicating to a computing moduleincludes communicating information about said one or more preselectedtime intervals.
 3. The method of claim 1 where said computing element isremote to said first receiver.
 4. The method of claim 1, furthercomprising the steps of: a second receiver, receiving a signalS_(received) ^(B) that is substantially equal to$S_{received}^{B} = {\sum\limits_{i = 1}^{j}\left\{ {{\alpha_{i}^{B}{\cos \left( {{2{\pi \left( {f_{L\; 1} + f_{i,D}^{B}} \right)}t} + \phi_{i}^{B}} \right)}} + {\beta_{i}^{B}{\sin \left( {{2{\pi \left( {f_{L\; 1} + f_{i,D}^{B}} \right)}t} + \phi_{i}^{B}} \right)}}} \right\}}$where α_(i) ^(B) is equal to A_(i) ^(B)D_(i)(t−τ_(i)^(B))x_(i,C)(t−τ_(i) ^(B)), β_(i) ^(A) is equal to B_(i)^(B)D_(i)(t−τ_(i) ^(B))x_(i,Y)(t−τ_(i) ^(B)), A_(i) ^(B) and B_(i) ^(B)are amplitude constants pertaining to said signals A_(i) and B_(i) thatare outputted by satellite i, and τ_(i) ^(B) is transit delay fromsatellite i to said second receiver; responsive to said informationabout said one or more preselected time intervals, said second receiverdeveloping, from signal S_(received) ^(B), signal$S_{ds}^{B} = {\sum\limits_{i = 1}^{j}\left\{ {{\alpha_{i}^{B}{\cos \left( {{2\; {\pi \left( f_{i,x}^{B} \right)}t} + \gamma_{i}^{B}} \right)}} + {\beta_{i}^{B}{\sin \left( {{2{\pi \left( f_{i,x}^{B} \right)}t} + \gamma_{i}^{B}} \right)}}} \right\}}$or a set of signalsS _(i,ds) ^(B)=α_(i) ^(B) cos(2π(ƒ_(i,x) ^(B))t+γ _(i) ^(B)sin(2π(ƒ_(i,x) ^(B))t+γ _(i) ^(B)), for at least i=1, 2 and 3, for saidone or more preselected time intervals, where ƒ_(i,x)^(B)=ƒ_(IF)+ƒ_(i,D) ^(B) or ƒ_(i,x) ^(B)=ƒ_(i,D) ^(B)−{circumflex over(ƒ)}_(i,D) ^(B), independent of ƒ_(i,x) ^(A) ƒ_(IF) is a preselectedintermediate frequency, {circumflex over (ƒ)}_(D) ^(A) is anapproximation of ƒ_(D) ^(A), and γ_(i) ^(A) is a phase shift; and saidcomputing element processing signal S_(ds) ^(A) with signal S_(ds) ^(B)for said one or more preselected time intervals, said processingincluding cross-correlation, to determine location of said firstreceiver relative to location of said second receiver.
 5. The method ofclaim 4 where said computing element is co-located with said secondreceiver.
 6. The method of claim 4 where said computing element isremote from said second receiver.
 7. The method of claim 4 where ƒ_(i,x)^(A)=ƒ_(IF)−ƒ_(i,D) ^(A), ƒ_(i,x) ^(B)=ƒ_(i,D) ^(B)−{circumflex over(ƒ)}_(i,D) ^(B), and where said processing signal S_(ds) ^(A) withsignal S_(ds) ^(B) involves converting S_(ds) ^(A) to${S_{dw}^{A} = {\sum\limits_{i = 1}^{j}\left\{ {{\alpha_{i}^{A}{\cos \left( {{2{\pi \left( f_{i,z}^{A} \right)}t} + \gamma_{i}^{A}} \right)}} + {\beta_{i}^{A}{\sin \left( {{2{\pi \left( f_{i,z}^{A} \right)}t} + \gamma_{i}^{A}} \right)}}} \right\}}},$whereƒ_(i,x) ^(A)=ƒ_(i,D) ^(A)−{circumflex over (ƒ)}_(i,D) ^(A.)
 8. Themethod of claim 1 where said step of said first receiver sending to saidcomputing element the processed signal for said one or more preselectedtime intervals, together with information about said one or morepreselected time intervals, includes sending to said computing elementan assertion pertaining to location or locations of said first receiverat said one or more preselected time intervals.
 9. An arrangementcomprising an antenna for receiving satellite signals; a processing unitthat is coupled to said antenna, and means for communicating with aremote apparatus; where via said antenna said processing unit receives asignal S_(received) ^(A) that is substantially equal to$\sum\limits_{i = 1}^{j}\left\{ {{\alpha_{i}^{A}{\cos \left( {{2{\pi \left( {f_{L\; 1} + f_{i,D}^{A}} \right)}t} + \phi_{i}^{A}} \right)}} + {\beta_{i}^{A}{\sin \left( {{2{\pi \left( {f_{L\; 1} + f_{i,D}^{A}} \right)}t} + \phi_{i}^{A}} \right)}}} \right\}$where α_(i) ^(A) is equal to A_(i) ^(A)D_(i)(t−τ_(i)^(A))x_(i,C)(t−τ_(i) ^(A)), β_(i) ^(A) is equal to B_(i)^(A)D_(i)(t−τ_(i) ^(A))x_(i,Y)(t−τ_(i) ^(A)), cos(2π(ƒ_(L1)+ƒ_(i,D)^(A))t+φ_(i) ^(A)) and Sin(2π(ƒ_(L1)+ƒ_(i,D) ^(A))t+φ_(i) ^(A)) arecarrier signals from satellite i at a frequency that is substantiallyequal ƒ_(i,L1), which experience a Doppler frequency shift of ƒ_(i,D)during transit from satellite i to said first receiver, and arrive atthe first receiver with a phase shift of φ_(i), A_(i) ^(A) and B₁ ^(A)are amplitude constants pertaining to signals A_(i) and B_(i) that areoutputted by satellite i, D_(i)(t) is data signal that is outputted bysatellite i, τ_(i) ^(A) is transit delay from satellite i to said firstreceiver, x_(i,C)(t) is a publicly known first code signal fromsatellite i, and x_(i,Y)(t) is a second code from satellite i that ispublicly not known, said processing unit develops, from signalS_(received) ^(A), signal$S_{ds}^{A} = {\sum\limits_{i = 1}^{j}\left\{ {{\alpha_{i}^{A}{\cos \left( {{2{\pi \left( f_{i,x}^{A} \right)}t} + \gamma_{i}^{A}} \right)}} + {\beta_{i}^{A}{\sin \left( {{2{\pi \left( f_{i,x}^{A} \right)}t} + \gamma_{i}^{A}} \right)}}} \right\}}$for one or more preselected time intervals, where ƒ_(i,x)^(A)=ƒ_(IF)+ƒ_(i,D) ^(A) or ƒ_(i,x) ^(A)=ƒ_(i,D) ^(A)−{circumflex over(ƒ)}_(i,D) ^(A), ƒ_(IF) is a preselected intermediate frequency,{circumflex over (ƒ)}_(D) ^(A) is an approximation of ƒ_(D) ^(A), andγ_(i) ^(A) is a phase shift; and said processing unit communicates to acomputing module the processed signal for said one or more preselectedtime intervals.
 10. The arrangement of claim 9 where said step ofcommunicating to d computing module includes communicating informationabout said one or more preselected time intervals.
 11. The arrangementof claim 9 where said computing module is remote to said apparatus. 12.The arrangement of claim 11, further comprising: a second receiverreceiving a signal S_(received) ^(B) that is substantially equal to$S_{received}^{B} = {\sum\limits_{i = 1}^{j}\left\{ {{\alpha_{i}^{B}{\cos \left( {{2{\pi \left( {f_{L\; 1} + f_{i,D}^{B}} \right)}t} + \phi_{i}^{B}} \right)}} + {\beta_{i}^{B}{\sin \left( {{2{\pi \left( {f_{L\; 1} + f_{i,D}^{B}} \right)}t} + \phi_{i}^{B}} \right)}}} \right\}}$where α_(i) ^(B) is equal to A_(i) ^(B)D_(i)(t−τ_(i)^(B))x_(i,C)(t−τ_(i) ^(B)), β_(i) ^(A) is equal to B_(i)^(B)D_(i)(t−τ_(i) ^(B))x_(i,Y)(t−τ_(i) ^(B)), A_(i) ^(B) and B_(i) ^(B)are amplitude constants pertaining to said signals A_(i) and B_(i) thatare outputted by satellite i, and τ_(i) ^(B) is transit delay fromsatellite i to said second receiver; responsive to said informationabout said one or more preselected time intervals, said second receiverdeveloping, from signal S_(received) ^(B), signal$S_{ds}^{B} = {\sum\limits_{i = 1}^{j}\left\{ {{\alpha_{i}^{B}{\cos \left( {{2{\pi \left( f_{i,x}^{B} \right)}t} + \gamma_{i}^{B}} \right)}} + {\beta_{i}^{B}{\sin \left( {{2{\pi \left( f_{i,x}^{B} \right)}t} + \gamma_{i}^{B}} \right)}}} \right\}}$or a set of signalsS _(i,ds) ^(B)=α_(i) ^(B) cos(2π(ƒ_(i,x) ^(B))t+γ _(i) ^(B))+β_(i) ^(B)sin(2π(ƒ_(i,x) ^(B))t+γ _(i) ^(B)), for at least i=1, 2 and 3, for saidone or more preselected time intervals, where ƒ_(i,x)^(B)=ƒ_(IF)+ƒ_(i,D) ^(B) or ƒ_(i,x) ^(B)=ƒ_(i,D) ^(B)−{circumflex over(ƒ)}_(i,D) ^(B), independent of ƒ_(i,x) ^(A) ƒ_(IF) is a preselectedintermediate frequency, {circumflex over (ƒ)}_(D) ^(A) is anapproximation of ƒ_(D) ^(A), and γ_(i) ^(A) is a phase shift; and saidcomputing element processing signal S_(ds) ^(A) with signal S_(ds) ^(B)for said one or more preselected time intervals, said processingincluding cross-correlation, to determine location of said firstreceiver relative to location of said second receiver.
 13. Thearrangement of claim 9 where said computing element is co-located withsaid second receiver.
 14. The arrangement of claim 9 where saidcomputing element is remote from said second receiver.
 15. The method ofclaim 12 where ƒ_(i,x) ^(A)=ƒ_(IF)−ƒ_(i,D) ^(A), ƒ_(i,x) ^(B)=ƒ_(i,D)^(B)−{circumflex over (ƒ)}_(i,D) ^(B), and where said processing signalS_(ds) ^(A) with signal S_(ds) ^(B) involves converting S_(ds) ^(A) to$S_{dw}^{A} = {\sum\limits_{i = 1}^{j}\left\{ {{\alpha_{i}^{A}{\cos \left( {{2{\pi \left( f_{i,z}^{A} \right)}t} + \gamma_{i}^{A}} \right)}} + {\beta_{i}^{A}{\sin \left( {{2{\pi \left( f_{i,z}^{A} \right)}t} + \gamma_{i}^{A}} \right)}}} \right\}}$whereƒ_(i,x) ^(A)=ƒ_(i,D) ^(A)−{circumflex over (ƒ)}_(i,D) ^(A.)
 16. Thearrangement of claim 9 where said step of said first receiver sending tosaid computing element the processed signal for said one or morepreselected time intervals, together with information about said one ormore preselected time intervals, includes sending to said computingelement an assertion pertaining to location or locations of said firstreceiver at said one or more preselected time intervals.